home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d26 / mathpack.arc / DETER.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-05-08  |  16.3 KB  |  401 lines

  1. 10  SCREEN 0,0,0
  2. 20  CLS
  3. 30  LOCATE 1,1,0
  4. 40  KEY OFF
  5. 50  WIDTH 80
  6. 60  COLOR 7,0
  7. 70  CLEAR
  8. 80  LOCATE 2,20:PRINT " D E T E R M I N A N T S "
  9. 90  LOCATE 6,10:PRINT "This section of MATH PAK, offers the user a chance to"
  10. 100  LOCATE 7,10:PRINT "use  CRAMER'S RULE in solving determinants. This section"
  11. 110  LOCATE 8,10:PRINT "offers second-order and third-order types of determinants."
  12. 120  LOCATE 9,10:PRINT "The second-order type, involves two equations,"
  13. 130  LOCATE 10,10:PRINT "while the third-order type involves three equations."
  14. 140  LOCATE 12,10:PRINT "The format that is used is:"
  15. 150  LOCATE 13,15:PRINT "a1X  +  b1Y  = c1"
  16. 160  LOCATE 14,15:PRINT "a2X  +  b2Y  = c2"
  17. 170  LOCATE 15,10:PRINT "WHICH THEN GIVES THE (X,Y) SOLUTION"
  18. 180  LOCATE 17,10:PRINT "For third-order determinants, the format is:"
  19. 190  LOCATE 19,15:PRINT "a1X  +  b1Y  +  c1Z  = d1"
  20. 200  LOCATE 20,15:PRINT "a2X  +  b2Y  +  c2Z  = d2"
  21. 210  LOCATE 21,15:PRINT "a3X  +  b3Y  +  c3Z  = d3"
  22. 220  LOCATE 22,10:PRINT "WHICH THEN GIVES THE (X,Y,Z) SOLUTION"
  23. 230  LOCATE 23,25:PRINT "PRESS THE  S P A C E  B A R  TO CONTINUE":LOCATE 23,23:COLOR 15:PRINT CHR$(16):LOCATE 23,66:PRINT CHR$(17):COLOR 7,0
  24. 240  A$ = INKEY$
  25. 250  IF A$ = CHR$(32) THEN 270
  26. 260  GOTO 240
  27. 270  CLS: LOCATE 6,10:PRINT "You will be asked to input which type of ":LOCATE 2,60:PRINT "page 2"
  28. 280  LOCATE 7,10:PRINT "determinant you want to solve(second or third"
  29. 290  LOCATE 8,10:PRINT "order), and then input the a1,b1,etc. values."
  30. 300  LOCATE 10,10:PRINT "This section also offers line equations, that"
  31. 310  LOCATE 11,10:PRINT "find the equation of a line, given certain values."
  32. 320  LOCATE 12,10:PRINT "Enter the letter L to enter this section."
  33. 330  LOCATE 14,10:PRINT "SELECTION:"
  34. 340  LOCATE 15,15:PRINT "P-POINT OF INTERSECTION(given two lines)"
  35. 350  LOCATE 16,15:PRINT "L-LINE EQUATIONS"
  36. 360  LOCATE 17,15:PRINT "S-SECOND ORDER"
  37. 370  LOCATE 18,15:PRINT "T-THIRD ORDER"
  38. 380  LOCATE 19,15:PRINT "X-EXIT TO FLOW"
  39. 390  LOCATE 21,25:PRINT "ENTER A LETTER:"
  40. 400  LOCATE 21,40:COLOR 31:PRINT CHR$(219)
  41. 410  A$ = INKEY$
  42. 420  COLOR 7,0:LOCATE 21,40:PRINT A$:FOR T = 0 TO 250:NEXT T
  43. 430  IF A$ = "s" OR A$ ="S" THEN 490
  44. 440  IF A$ = "p" OR A$ = "P" THEN 3300
  45. 450  IF A$ = "L" OR A$ ="l" THEN 2260
  46. 460  IF A$ = "t" OR A$ ="T" THEN 1110
  47. 470  IF A$ = "X" OR A$ = "x" THEN CLS:CHAIN"FLOW"
  48. 480  GOTO 390
  49. 490  REM SECTION WILL CALCULATE SECOND-ORDER DETERMINANTS
  50. 500  CLS
  51. 510  LOCATE 2,10:PRINT "S E C O N D - O R D E R  D E T E R M I N A N T S"
  52. 520  LOCATE 5,10:PRINT "The format used in this section is:"
  53. 530  LOCATE 7,15:PRINT "a1X  +  b1Y  = c1"
  54. 540  LOCATE 8,15:PRINT "a2X  +  b2Y  = c2"
  55. 550  LOCATE 10,10:PRINT "You will be asked the a1,b1,c1,a2,b2,and c2 values,"
  56. 560  LOCATE 11,10:PRINT "in that order only."
  57. 570  LOCATE 12,10:PRINT "If a value of zero(0) in entered as an input for"
  58. 580  LOCATE 13,10:PRINT "a value of a1, then the program will return back "
  59. 590  LOCATE 14,10:PRINT "to the determinant selection section screen."
  60. 600  LOCATE 15,10:PRINT "AN EXAMPLE:"
  61. 610  LOCATE 16,15:PRINT"Given, 3x - 2y  = 7"
  62. 620  LOCATE 17,15:PRINT "and   3x + 2y  = 9"
  63. 630  LOCATE 18,10:PRINT "Then, a1 = 3,b1 = -2, and c1 = 7"
  64. 640  LOCATE 19,10:PRINT "And   a2 = 3,b2 = 2, and c2 = 9"
  65. 650  LOCATE 20,10:PRINT "Using this guideline, you should enter the appropri-"
  66. 660  LOCATE 21,10:PRINT "ate values and a solution will be printed in the"
  67. 670  LOCATE 22,10:PRINT "lower portion of the screen."
  68. 680  LOCATE 23,25:PRINT "PRESS THE S P A C E  B A R TO CONTINUE":LOCATE 23,23:COLOR 15:PRINT CHR$(16):LOCATE 23,66:PRINT CHR$(17):COLOR 7,0
  69. 690  A$ = INKEY$
  70. 700  IF A$ = CHR$(32) THEN 720
  71. 710  GOTO 690
  72. 720  CLS
  73. 730  LOCATE 2,10:PRINT "SECOND-ORDER DETERMINANTS"
  74. 740  LOCATE 5,10:PRINT "ENTER a1":LOCATE 5,19:INPUT A1
  75. 750  IF A1 = 0 THEN 10
  76. 760  LOCATE 6,10:PRINT "ENTER b1":LOCATE 6,19:INPUT B1
  77. 770  LOCATE 7,10:PRINT "ENTER c1":LOCATE 7,19:INPUT C1
  78. 780  LOCATE 9,10:PRINT "ENTER a2":LOCATE 9,19:INPUT A2
  79. 790  LOCATE 10,10:PRINT "ENTER b2":LOCATE 10,19:INPUT B2
  80. 800  LOCATE 11,10:PRINT "ENTER c2":LOCATE 11,19:INPUT C2
  81. 810  LOCATE 15,10:PRINT "Are these values correct(y/n)":LOCATE 15,40:INPUT TE$
  82. 820  IF TE$ ="y" OR TE$ ="Y" THEN 860
  83. 830  IF TE$ ="N" OR TE$ ="n" THEN 720
  84. 840  GOTO 810
  85. 850  REM begin calculations now
  86. 860  CLS
  87. 870  LOCATE 5,10:PRINT "D = ":FOR L = 3 TO 7:LOCATE L,16:PRINT CHR$(179):LOCATE L,45:PRINT CHR$(179):NEXT L
  88. 880  LOCATE 11,10:PRINT "Dx = ":FOR L = 9 TO 13:LOCATE L,16:PRINT CHR$(179):LOCATE L,45:PRINT CHR$(179):NEXT L
  89. 890  LOCATE 17,10:PRINT "Dy = ":FOR L = 15 TO 19:LOCATE L,16:PRINT CHR$(179):LOCATE L,45:PRINT CHR$(179):NEXT L
  90. 900  LOCATE 4,18:PRINT USING "#######.####";A1:LOCATE 4,31:PRINT USING "#######.####";B1
  91. 910  LOCATE 6,18:PRINT USING "#######.####";A2:LOCATE 6,31:PRINT USING "#######.####";B2
  92. 920  LOCATE 10,18:PRINT USING "#######.####";C1:LOCATE 10,31:PRINT USING "#######.####";B1
  93. 930  LOCATE 12,18:PRINT USING "#######.####";C2:LOCATE 12,31:PRINT USING "#######.####";B2
  94. 940  LOCATE 16,18:PRINT USING "#######.####";A1:LOCATE 16,31:PRINT USING "#######.####";C1
  95. 950  LOCATE 18,18:PRINT USING "#######.####";A2:LOCATE 18,31:PRINT USING "#######.####";C2
  96. 960  LOCATE 20,20:PRINT " USING x = Dx / D  and y = Dy / D"
  97. 970  D = (A1 * B2) - (A2 * B1)
  98. 980  IF D = 0 THEN LOCATE 22,10:PRINT "THE  D  VALUE HERE IS ZER(0) AND THE SOLUTION CANNOT BE SOLVED":GOTO 1070
  99. 990  DX = (C1 * B2) - (C2 * B1)
  100. 1000  DY = (A1 * C2) - (A2 * C1)
  101. 1010  LOCATE 5,55:PRINT "= ":LOCATE 5,58:PRINT USING "############.###";D
  102. 1020  LOCATE 11,55:PRINT "= ":LOCATE 11,58:PRINT USING "############.###";DX
  103. 1030  LOCATE 17,55:PRINT "= ":LOCATE 17,58:PRINT USING "############.###";DY
  104. 1040  X = DX / D
  105. 1050  Y = DY / D
  106. 1060  LOCATE 21,15:PRINT "The solution is ":LOCATE 21,33:PRINT USING "############.###";X:LOCATE 21,50:PRINT " =x":LOCATE 22,33:PRINT USING "############.###";Y:LOCATE 22,50:PRINT " =y"
  107. 1070  LOCATE 23,20:PRINT "PRESS THE S P A C E  B A R  TO CONTINUE":LOCATE 23,18:COLOR 15:PRINT CHR$(16):LOCATE 23,63:PRINT CHR$(17):COLOR 7,0
  108. 1080  A$ = INKEY$
  109. 1090  IF A$ =CHR$(32) THEN 10
  110. 1100  GOTO 1080
  111. 1110   REM this section will calculate third-order determinants
  112. 1120  CLS
  113. 1130  LOCATE 2,10:PRINT"T H I R D - O R D E R  D E T E R M I N A N T S"
  114. 1140  LOCATE 4,10:PRINT "The format used in this section is:"
  115. 1150  LOCATE 5,15:PRINT "a1X  +  b1Y  +  c1Z  = d1"
  116. 1160  LOCATE 6,15:PRINT "a2X  +  b2Y  +  c2Z  = d2"
  117. 1170  LOCATE 7,15:PRINT "a3X  +  b3Y  +  c3Z  = d3"
  118. 1180  LOCATE 9,10:PRINT "You will be asked the a1,b1,c1,d1,a2,b2,c2,d2,"
  119. 1190  LOCATE 10,10:PRINT "a3,b3,c3 and d3 values in that order only."
  120. 1200  LOCATE 11,10:PRINT "If a value of zero(0) is entered as an input for"
  121. 1210  LOCATE 12,10:PRINT "a1, the program will return back to the deter-"
  122. 1220  LOCATE 13,10:PRINT "minant selection section screen."
  123. 1230  LOCATE 14,15:PRINT "AN EXAMPLE:"
  124. 1240  LOCATE 15,15:PRINT "Given, 3x + 2y - 4z = 12"
  125. 1250  LOCATE 16,15:PRINT "       2x - 4y + 3z = 4"
  126. 1260  LOCATE 17,15:PRINT "and,  -3x + 5y + 4z = 5"
  127. 1270  LOCATE 18,10:PRINT "Then,a1 = 3,b1 = 2,c1 = -4,d1 = 12,a2 = 2,b2 = -4"
  128. 1280  LOCATE 19,10:PRINT "c2 = 3,d2 = 4,a3 = -3,b3 = 5,c3 = 4 and d3 = 5"
  129. 1290  LOCATE 20,10:PRINT "Using this guideline, you should enter the appropri-"
  130. 1300  LOCATE 21,10:PRINT "ate values and a solution will be printed in the"
  131. 1310  LOCATE 22,10:PRINT "lower portion of the screen."
  132. 1320  LOCATE 23,25:PRINT "PRESS THE S P A C E  B A R  TO CONTINUE":LOCATE 23,23:COLOR 15:PRINT CHR$(16):LOCATE 23,65:PRINT CHR$(17):COLOR 7,0
  133. 1330  A$ = INKEY$
  134. 1340  IF A$ = CHR$(32) THEN 1360
  135. 1350  GOTO 1330
  136. 1360  CLS
  137. 1370  LOCATE 2,10:PRINT "THIRD-ORDER DETERMINANTS"
  138. 1380  LOCATE 5,10:PRINT "ENTER a1":LOCATE 5,19:INPUT A1
  139. 1390  IF A1 = 0 THEN 10
  140. 1400  LOCATE 6,10:PRINT "ENTER b1":LOCATE 6,19:INPUT B1
  141. 1410  LOCATE 7,10:PRINT "ENTER c1":LOCATE 7,19:INPUT C1
  142. 1420  LOCATE 8,10:PRINT "ENTER d1":LOCATE 8,19:INPUT D1
  143. 1430  LOCATE 10,10:PRINT "ENTER a2":LOCATE 10,19:INPUT A2
  144. 1440  LOCATE 11,10:PRINT "ENTER b2":LOCATE 11,19:INPUT B2
  145. 1450  LOCATE 12,10:PRINT "ENTER c2":LOCATE 12,19:INPUT C2
  146. 1460  LOCATE 13,10:PRINT "ENTER d2":LOCATE 13,19:INPUT D2
  147. 1470  LOCATE 15,10:PRINT "ENTER a3":LOCATE 15,19:INPUT A3
  148. 1480  LOCATE 16,10:PRINT "ENTER b3":LOCATE 16,19:INPUT B3
  149. 1490  LOCATE 17,10:PRINT "ENTER c3":LOCATE 17,19:INPUT C3
  150. 1500  LOCATE 18,10:PRINT "ENTER d3":LOCATE 18,19:INPUT D3
  151. 1510  LOCATE 20,20:PRINT "Are these values correct(y/n)":LOCATE 20,50:INPUT TE$
  152. 1520  IF TE$ = "y" OR TE$ ="Y" THEN 1550
  153. 1530  IF TE$ = "n" OR TE$ ="N" THEN 1360
  154. 1540   GOTO 1510
  155. 1550  REM begin third order calculations now
  156. 1560  CLS
  157. 1570  D4 = (A1*((B2*C3) - (B3 *C2)))
  158. 1580  D5 = (A2 * ((B1 * C3) - (B3 * C1)))
  159. 1590  D6 = (A3 * ((B1 * C2) - ( B2 * C1)))
  160. 1600  D = D4 - D5 + D6
  161. 1610  IF D = 0 THEN 1620 ELSE GOTO 1700
  162. 1620  CLS
  163. 1630  LOCATE 15,10:PRINT "THE SOLUTION CANNOT BE SOLVED, BECAUSE"
  164. 1640  LOCATE 16,10:PRINT "THE VALUE CALCULATED FOR D IS ZERO(0),"
  165. 1650  LOCATE 17,10:PRINT "AND BECAUSE X = DX / D,Y = DY /D AND Z = DZ /D"
  166. 1660  LOCATE 18,10:PRINT "YOU CAN SEE THAT D CANNOT BE = 0 TO WORK."
  167. 1670  LOCATE 19,10:PRINT "OTHERWISE, YOU GET DIVISION BY ZERO(0)."
  168. 1680  FOR T = 0 TO 2500:NEXT T
  169. 1690  GOTO 1360
  170. 1700  DX4 = (D1 * (( B2 * C3) - ( B3 * C2)))
  171. 1710  DX5 = (D2 * (( B1 * C3) - ( B3 * C1)))
  172. 1720  DX6 = (D3 * (( B1 * C2) - ( B2 * C1)))
  173. 1730  DX = DX4 - DX5 + DX6
  174. 1740  DY4 = (A1 * (( D2 * C3) - ( D3 * C2)))
  175. 1750  DY5 = ( A2 * (( D1 * C3) - (D3 * C1)))
  176. 1760  DY6 = (A3 * (( D1 * C2) - ( D2 * C1)))
  177. 1770  DY = DY4 - DY5 + DY6
  178. 1780  DZ4 = ( A1 * (( B2 * D3) -(B3 * D2)))
  179. 1790  DZ5 = ( A2 * (( B1 * D3) - (B3 * D1)))
  180. 1800  DZ6 = (A3 * (( B1 * D2) - ( B2 * D1)))
  181. 1810  DZ = DZ4 - DZ5 + DZ6
  182. 1820  FOR L = 2 TO 6:LOCATE L,10:PRINT CHR$(179):LOCATE L,53:PRINT CHR$(179):NEXT L
  183. 1830  FOR L = 10 TO 14:LOCATE L,10:PRINT CHR$(179):LOCATE L,53:PRINT CHR$(179):NEXT L
  184. 1840  FOR L = 17 TO 21:LOCATE L,10:PRINT CHR$(179):LOCATE L,53:PRINT CHR$(179):NEXT L
  185. 1850  DY4 = (A1 * (( D2 * C3) - ( D3 * C2)))
  186. 1860  LOCATE 4,7:PRINT "D =":LOCATE 12,6:PRINT "Dx =":LOCATE 19,6:PRINT"Dy ="
  187. 1870  LOCATE 4,55:PRINT "= ":LOCATE 4,57:PRINT USING "############.###";D
  188. 1880  LOCATE 12,55:PRINT "= ":LOCATE 12,57:PRINT USING "############.###";DX
  189. 1890  LOCATE 19,55:PRINT "= ":LOCATE 19,57:PRINT USING "############.###";DY
  190. 1900  LOCATE 3,11:PRINT USING "#######.####";A1:LOCATE 3,26:PRINT USING "#######.####";B1:LOCATE 3,40:PRINT USING "#######.####";C1
  191. 1910  LOCATE 4,11:PRINT USING "#######.####";A2:LOCATE 4,26:PRINT USING "#######.####";B2:LOCATE 4,40:PRINT USING "#######.####";C2
  192. 1920  LOCATE 5,11:PRINT USING "#######.####";A3:LOCATE 5,26:PRINT USING "#######.####";B3:LOCATE 5,40:PRINT USING "#######.####";C3
  193. 1930  LOCATE 11,11:PRINT USING "#######.####";D1:LOCATE 11,26:PRINT USING "#######.####";B1:LOCATE 11,40:PRINT USING "#######.####";C1
  194. 1940  LOCATE 12,11:PRINT USING "#######.####";D2:LOCATE 12,26:PRINT USING "#######.####";B2:LOCATE 12,40:PRINT USING "#######.####";C2
  195. 1950  LOCATE 13,11:PRINT USING "#######.####";D3:LOCATE 13,26:PRINT USING "#######.####";B3:LOCATE 13,40:PRINT USING "#######.####";C3
  196. 1960  LOCATE 18,11:PRINT USING "#######.####";A1:LOCATE 18,26:PRINT USING "#######.####";D1:LOCATE 18,40:PRINT USING "#######.####";C1
  197. 1970  LOCATE 19,11:PRINT USING "#######.####";A2:LOCATE 19,26:PRINT USING "#######.####";D2:LOCATE 19,40:PRINT USING "#######.####";C2
  198. 1980  LOCATE 20,11:PRINT USING "#######.####";A3:LOCATE 20,26:PRINT USING "#######.####";D3:LOCATE 20,40:PRINT USING "#######.####";C3
  199. 1990  LOCATE 23,20:PRINT "PRESS S P A C E  B A R TO SHOW Dz":LOCATE 23,18:COLOR 15:PRINT CHR$(16):LOCATE 23,54:PRINT CHR$(17):COLOR 7,0
  200. 2000  A$ = INKEY$
  201. 2010  IF A$ = CHR$(32) THEN 2030
  202. 2020  GOTO 2000
  203. 2030  CLS
  204. 2040  FOR L = 12 TO 16:LOCATE L,10:PRINT CHR$(179):LOCATE L,53:PRINT CHR$(179):NEXT L
  205. 2050  LOCATE 14,6:PRINT "Dz ="
  206. 2060  LOCATE 14,55:PRINT "= ":LOCATE 14,57:PRINT USING "############.###";DZ
  207. 2070  LOCATE 13,11:PRINT USING "#######.####";A1:LOCATE 13,26:PRINT USING "#######.####";B1:LOCATE 13,40:PRINT USING "#######.####";D1
  208. 2080  LOCATE 14,11:PRINT USING "#######.####";A2:LOCATE 14,26:PRINT USING "#######.####";B2:LOCATE 14,40:PRINT USING "#######.####";D2
  209. 2090  LOCATE 15,11:PRINT USING "#######.####";A3:LOCATE 15,26:PRINT USING "#######.####";B3:LOCATE 15,40:PRINT USING "#######.####";D3
  210. 2100  LOCATE 18,10:PRINT "USING x = Dx / D,y = Dy / D and z = Dz / D"
  211. 2110  LET X = DX / D
  212. 2120  LET Y = DY / D
  213. 2130  LET Z = DZ / D
  214. 2140  LOCATE 20,15:PRINT USING "########.###";X:LOCATE 20,27:PRINT "= x"
  215. 2150  LOCATE 21,15:PRINT USING "########.###";Y:LOCATE 21,27:PRINT "= y"
  216. 2160  LOCATE 22,15:PRINT USING "########.###";Z:LOCATE 22,27:PRINT "= z"
  217. 2170  LOCATE 23,25:PRINT "PRESS THE S P A C E  B A R  TO CONTINUE":LOCATE 23,23:COLOR 15:PRINT CHR$(16):LOCATE 23,65:PRINT CHR$(17):COLOR 7,0
  218. 2180  A$ = INKEY$
  219. 2190  IF A$ = CHR$(32) THEN 2210
  220. 2200  GOTO 2180
  221. 2210  CLS
  222. 2220  LOCATE 15,15:PRINT "Do you wish to view the screens over again(y/n)":LOCATE 15,63:INPUT TW$
  223. 2230  IF TW$ = "y" OR TW$ ="Y" THEN GOTO 1550
  224. 2240  IF TW$ ="n" OR TW$ ="N" THEN 10
  225. 2250  GOTO 2220
  226. 2260  CLS
  227. 2270  LOCATE 2,10:PRINT "L I N E  E Q U A T I O N S"
  228. 2280  LOCATE 5,10:PRINT "This section, will offer the user an accurate"
  229. 2290  LOCATE 6,10:PRINT "soultion to determine (x,y) coordinates on a graph,"
  230. 2300  LOCATE 7,10:PRINT "using the x-axis and the y-axis."
  231. 2310  LOCATE 10,10:PRINT "THE EQUATION FORM IS  aY + b = mX + d"
  232. 2320  LOCATE 12,10:PRINT "Where b and d can equal zero(0)(when not in the equation)."
  233. 2330  LOCATE 13,10:PRINT "If a zero(0) value is entered for value of a and/or m,"
  234. 2340  LOCATE 14,10:PRINT "then,the program will assume the value of +1."
  235. 2350  LOCATE 15,10:PRINT "The values used for x range from -5 to + 5"
  236. 2360  LOCATE 16,10:PRINT "You can solve for a line, or find an equation,"
  237. 2370  LOCATE 17,10:PRINT "given two points (x1,y1),(x2,y2)."
  238. 2380  LOCATE 18,10:PRINT "REMEMBER, (+)(-) = (-), (-)(-) = (+)"
  239. 2390  LOCATE 21,20:PRINT "A-USING aY + b = mX + d,PLOT THE POINTS."
  240. 2400  LOCATE 22,20:PRINT "B-GIVEN TWO POINTS,FIND AN EQUATION"
  241. 2410  :LOCATE 23,20:PRINT "X-EXIT TO DETERMINANT SECTION"
  242. 2420  LOCATE 20,10:PRINT "ENTER A SELECTION:":LOCATE 20,29:INPUT A$
  243. 2430  IF A$ = "A" OR A$ ="a" THEN GOTO 2470
  244. 2440  IF A$ = "b" OR A$ = "B" THEN GOTO 3110
  245. 2450  IF A$ = "X" OR A$ ="x" THEN 10
  246. 2460  GOTO 2420
  247. 2470  CLS
  248. 2480  A1 = 0:B1 = 0:C1 = 0:D1 = 0:A=0:B=0:C=0:D=0:Y=0:G=0:H=0:I=0:J=0:F=0
  249. 2490  LOCATE 2,10:PRINT " USING   aY  +  b   =  mX  +  d"
  250. 2500  LOCATE 5,10:PRINT "ENTER VALUE OF a ":LOCATE 5,27:INPUT A
  251. 2510  LOCATE 6,10:PRINT "ENTER VALUE OF b(if b is not in equation,enter 0) ":LOCATE 6,60:INPUT B
  252. 2520  LOCATE 7,10:PRINT "ENTER VALUE OF m(slope) ":LOCATE 7,36:INPUT C
  253. 2530  IF C < > 0 THEN 2580
  254. 2540  IF C = 0 THEN LOCATE 7,10:PRINT "Is x in the equation(y/n)  ":LOCATE 7,37:INPUT R$
  255. 2550  IF R$ ="y" OR R$ ="Y" THEN GOTO 2580
  256. 2560  IF R$ = "n" OR R$ ="N" THEN 2580
  257. 2570  GOTO 2540
  258. 2580  LOCATE 8,10:PRINT "ENTER VALUE OF d(if d is not in equation,enter 0) ":LOCATE 8,60:INPUT D
  259. 2590  LOCATE 10,10:PRINT "Are these values correct(y/n)":LOCATE 10,40:INPUT TES$
  260. 2600  IF TES$ ="y" OR TES$="Y" THEN CLS:GOTO 2630
  261. 2610  IF TES$="n" OR TES$="N" THEN GOTO 2470
  262. 2620  GOTO 2590
  263. 2630  IF A = 0 THEN A1 = 1 ELSE A1 = A
  264. 2640  IF C = 0  THEN C1 = 1 ELSE C1 = C
  265. 2650  LOCATE 5,10:PRINT A1;"y";" + ";B;" = ";C1;"x ";" + ";D
  266. 2660  LOCATE 6,10:PRINT "The points of this line, given x = -5 to +5 are: "
  267. 2670  LET B1 = B
  268. 2680  LET D1 = D
  269. 2690  IF R$ = "n" OR R$ ="N" THEN 2900
  270. 2700  REM begin calculations now***********
  271. 2710  LET G = D1 - B1
  272. 2720  LET I = C1 / A1
  273. 2730  LET J = G / A1
  274. 2740  LET Y = I + J
  275. 2750  LET R = 10
  276. 2760  LOCATE 9,25:PRINT "X":LOCATE 9,31:PRINT "Y"
  277. 2770  LET V = 24
  278. 2780  FOR X1 = -5 TO 5 STEP 1
  279. 2790  LOCATE R,V:PRINT X1:LOCATE R,(V+3):PRINT USING "#######.##";(( X1 * I) + J)
  280. 2800  IF X1 = 0 THEN LOCATE R,V:PRINT X1:LOCATE R,(V+3):PRINT USING "#######.##";J:LOCATE R,37:PRINT "(y-axis intercept)"
  281. 2810  IF ((X1 * I) + J) = 0 THEN LOCATE R,37:PRINT "(x-axis intercept)"
  282. 2820  R = R + 1
  283. 2830  NEXT X1
  284. 2840  LOCATE 21,20:PRINT "The slope(m) is ":LOCATE 21,41:PRINT USING "########.####";I
  285. 2850  LOCATE 22,20:PRINT "The equation is  y = ":LOCATE 22,41:PRINT USING "########.##";I:LOCATE 22,52:PRINT "x";" + ":LOCATE 22,57:PRINT USING "########.####";J
  286. 2860  LOCATE 23,20:PRINT "Do you wish additional equations(y/n)":LOCATE 23,59:INPUT Q$
  287. 2870  IF Q$ = "Y" OR Q$ ="y" THEN  2470
  288. 2880  IF Q$ = "N" OR Q$ ="n" THEN 2260
  289. 2890  GOTO 2860
  290. 2900  R = 10:LOCATE 9,25:PRINT "X","    Y"
  291. 2910  LOCATE 5,10:PRINT "                 ";A1;"y";" = ";D;"                          "
  292. 2920  LET D1 = D:LET A1 = A
  293. 2930  LET C1 = C: LET B1 = B
  294. 2940  IF (C1 = 0 ) AND (D1 = 0) AND (B1 = 0) THEN 2950 ELSE 2970
  295. 2950  LOCATE 22,20:PRINT "The equation is y = 0 "
  296. 2960  GOTO 2860
  297. 2970  IF (C1 = 0) AND (D1 = 0) THEN 2980 ELSE 3000
  298. 2980  LET Y = -(B1) / A1
  299. 2990  GOTO 3040
  300. 3000  LET Y = D1 / A1
  301. 3010  IF (C1 = 0) THEN 3020 ELSE 3040
  302. 3020  LET  Y = (D1 + (-(B1))) / A1
  303. 3030  GOTO 3040
  304. 3040  FOR X1 = -5 TO 5 STEP 1
  305. 3050  LOCATE R,24:PRINT X1:LOCATE R,27:PRINT USING "#######.##";Y
  306. 3060  IF X1 = 0 THEN LOCATE R,38:PRINT "(y-axis intercept)"
  307. 3070  R = R + 1
  308. 3080  NEXT X1
  309. 3090  LOCATE 22,20:PRINT "The equation is  y = ";Y
  310. 3100  GOTO 2860
  311. 3110  CLS
  312. 3120  LOCATE 2,10:PRINT" USING  (x1,y1), (x2,y2)"
  313. 3130  LOCATE 5,10:PRINT "ENTER x1":LOCATE 5,19:INPUT X1
  314. 3140  LOCATE 6,10:PRINT "ENTER y1":LOCATE 6,19:INPUT Y1
  315. 3150  LOCATE 7,10:PRINT "ENTER x2":LOCATE 7,19:INPUT X2
  316. 3160  LOCATE 8,10:PRINT "ENTER y2":LOCATE 8,19:INPUT Y2
  317. 3170  LET M1 = ( Y2 - Y1)
  318. 3180  LET M2 = (X2 - X1)
  319. 3190  IF M2 = 0 THEN LOCATE 15,10:PRINT "CANNOT FIND SLOPE...":FOR T = 0 TO 500:NEXT T:GOTO 3110
  320. 3200  IF M2 < > 0 THEN 3210
  321. 3210  M = M1 / M2
  322. 3220  X3 = M * (-X1)
  323. 3230  Y = X3 + Y1
  324. 3240  LOCATE 14,10:PRINT "The pliminary equation is y - ";Y1;" = ";M;"(x -  ";X1;")"
  325. 3250  LOCATE 15,10:PRINT "The equation of the line is y = ";M;"x";" + ";Y
  326. 3260  LOCATE 16,10:PRINT "The slope(m) of the line is ":LOCATE 16,38:PRINT USING "#######.###";M
  327. 3270  LOCATE 17,10:PRINT "Any more equations(y/n)":LOCATE 17,34:INPUT AE$
  328. 3280  IF AE$ ="Y" OR AE$ ="y" THEN 3110
  329. 3290  GOTO 2260
  330. 3300  REM section will find a point of intersection given two lines***
  331. 3310  CLS
  332. 3320  LOCATE 1,10:PRINT "POINT OF INTERSECTION "
  333. 3330  LOCATE 5,10:PRINT "This section offers the user a quick approach to "
  334. 3340  LOCATE 6,10:PRINT "finding out if two non-parallel lines intersect "
  335. 3350  LOCATE 7,10:PRINT "at a given point, given a certain x-value range."
  336. 3360  LOCATE 9,10:PRINT "You are to enter the equations of the two lines,"
  337. 3370  LOCATE 10,10:PRINT "in the form aY + b = mX + d. The a-value on either"
  338. 3380  LOCATE 11,10:PRINT "equations cannot be zero(0) or a value of one(1)"
  339. 3390  LOCATE 12,10:PRINT "will be assigned to a. The b,m or d values can be"
  340. 3400  LOCATE 13,10:PRINT "zero(0)."
  341. 3410  LOCATE 14,10:PRINT "After the two equations are entered, you are to "
  342. 3420  LOCATE 15,10:PRINT "enter the maximum x-value and the minimum x-value"
  343. 3430  LOCATE 16,10:PRINT "range you want to test in. You are to enter the "
  344. 3440  LOCATE 17,10:PRINT "increment value that the program should test at"
  345. 3450  LOCATE 18,10:PRINT "also. If no point is found, then this will be "
  346. 3460  LOCATE 19,10:PRINT "indicated."
  347. 3470  LOCATE 22,25:PRINT "PRESS SPACE BAR TO CONTINUE"
  348. 3480  A$ = INKEY$
  349. 3490  IF A$ = CHR$(32) THEN 3500 ELSE 3480
  350. 3500  CLS:A1 = 0:B1=0:M1=0:D1=0:A2=0:B2=0:M2=0:D2=0:Y3=0:Z3=0:Y4=0:Z4=0:Y2=0:Y1=0
  351. 3510  LOCATE 3,10:PRINT "Using aY + b = mX + d as the guide for a line equation..."
  352. 3520  LOCATE 5,10:PRINT "enter first line equation:"
  353. 3530  LOCATE 6,15:PRINT "enter a":LOCATE 6,23:INPUT A1
  354. 3540  IF A1 = 0 THEN A1 = 1
  355. 3550  LOCATE 7,15:PRINT "enter b":LOCATE 7,23:INPUT B1
  356. 3560  LOCATE 8,15:PRINT "enter m":LOCATE 8,23:INPUT M1
  357. 3570  LOCATE 9,15:PRINT "enter d":LOCATE 9,23:INPUT D1
  358. 3580  LOCATE 12,15:PRINT "now, enter the second equation:"
  359. 3590  LOCATE 13,15:PRINT "enter a":LOCATE 13,23:INPUT A2
  360. 3600  IF A2 = 0 THEN A2 = 1
  361. 3610  LOCATE 14,15:PRINT "enter b":LOCATE 14,23:INPUT B2
  362. 3620  LOCATE 15,15:PRINT "enter m":LOCATE 15,23:INPUT M2
  363. 3630  LOCATE 16,15:PRINT "enter d":LOCATE 16,23:INPUT D2
  364. 3640  Y3 = D1 - B1
  365. 3650  Z3 = M1 / A1
  366. 3660  Y4 = D2 - B2
  367. 3670  Z4 = M2 / A2
  368. 3680  IF (A1 = A2) AND (B1 = B2) AND (M1 = M2) AND (D1 = D2) THEN 3690 ELSE 3710
  369. 3690  LOCATE 18,10:PRINT "YOUR TWO EQUATIONS ARE HAVING THE SAME VALUES..."
  370. 3700  FOR T = 0 TO 1500:NEXT T:GOTO 3300
  371. 3710  Y6 = (M1 / A1) + ((D1 -B1) / A1)
  372. 3720  Y7 = (M2 / A2) + ((D2 - B2) / A2)
  373. 3730  IF Y6 = Y7 THEN 3740 ELSE 3770
  374. 3740  CLS:LOCATE 15,10:PRINT "SORRY, BUT I CALCULATE THESE TWO LINES TO BE THE SAME..."
  375. 3750  FOR T = 0 TO 2000:NEXT T
  376. 3760  GOTO 3300
  377. 3770  LOCATE 18,15:PRINT "Input high value":LOCATE 18,32:INPUT HV
  378. 3780  IF HV > 999999 THEN 3770
  379. 3790  LOCATE 19,15:PRINT "Input low value":LOCATE 19,31:INPUT LV
  380. 3800  IF LV < -999999 THEN 3790
  381. 3810  IF (HV = LV) OR (LV > HV) THEN BEEP:GOTO 3770
  382. 3820  LOCATE 20,15:PRINT "Input increment value":LOCATE 20,37:INPUT INX
  383. 3830  IF (INX = 0) OR (INX < 0) THEN 3820
  384. 3840  IF (INX > HV) OR (INX = HV) THEN 3820
  385. 3850  LOCATE 22,20:PRINT "Are these values correct(y/n)":LOCATE 22,50:INPUT PL$
  386. 3860  IF PL$ = "y" OR PL$ ="Y" THEN 3890
  387. 3870  IF PL$ = "N" OR PL$ = "n" THEN 3500
  388. 3880  GOTO 3850
  389. 3890  CLS
  390. 3900  FOR X = LV TO HV STEP INX
  391. 3910  Y1 = (Z3 * X) + Y3
  392. 3920  Y2 = (Z4 * X) + Y4
  393. 3930  IF Y1 = Y2 THEN BEEP:LOCATE 15,20:PRINT "THE LINES INTERSECT AT(X,Y): ";"(";X;",";Y1;")":GOTO 3970
  394. 3940  LOCATE 25,2:PRINT "X-VALUE,EQ(1),EQ(2) Y-VALUES...";X,Y1,Y2
  395. 3950  NEXT X
  396. 3960  LOCATE 15,10:PRINT "NO INTERSECTION POINT FOUND IN THE RANGE GIVEN..."
  397. 3970  LOCATE 17,20:PRINT "PRESS THE SPACE BAR TO RETURN "
  398. 3980  ATT$ = INKEY$
  399. 3990  IF ATT$ = CHR$(32) THEN 10
  400. 4000  GOTO 3980
  401.